
//*********************************************
//  This is Template of Cosmic Ray Generator
//                                  author:Ruiting
//

#ifndef _CosmicMuon_H_
#define _CosmicMuon_H_

#include "G4ThreeVector.hh"
#include "G4Types.hh"
#include "G4String.hh"
#include "G4ParticleGun.hh"
#include "MyBaseGen.hh"

#include <vector>
#include <string>
#include <memory>

class CosmicMuon: public MyBaseGen
{
public:
    CosmicMuon();
    ~CosmicMuon();

    void Initialize(YAML::Node);
    void GeneratePrimaryVertex(G4Event*);
    inline G4bool IfNeedPolPhot(){return false;}

private:
    G4ParticleGun* m_Gun;
    G4double m_Emin;
    G4double m_Emax;

    G4double m_BoxLength;
    G4double m_BallRadius;

    G4ParticleDefinition* m_mum;
    G4ParticleDefinition* m_mup;
};

#endif